package com.cskaoyan.javase.basic._6block;

/**
 * 代码块的概念
 * 在深入学习选择结构和循环结构前，我们还需要了解块（block）的概念。
 *
 * 什么是代码块？代码块的定义是：
 *      由若干条Java语句组成，并且用一对大括号括起来的结构，叫做代码块。
 * 最明显的就是方法后面的一个大括号,比如main方法
 * 但是要注意,类名后面跟的大括号,是类体,它不算代码块.
 *
 * 那么代码块有什么用处呢？主要是：
 * 1. 代码块决定了块中的变量的作用域，也就是块中的变量只在当前块中生效。这意味着同一个代码块中，不可能有同名的变量。
 * 2. 定义在块中的变量，被块限制了作用域，称之为局部变量(local variable)。这是一个非常重要的概念~
 *
 * 最后谈两点注意事项：
 * 1. 代码块是可以嵌套定义的。
 * 2. 关于代码块，我们后面会专门讲解，这里先暂且不谈。
 *
 * @since 10:14
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        System.out.println("hello world!");
        int a = 10;
        double b = 20;
        if (true) {
            // 代码块,都属于局部位置,会限制其中局部变量的作用域
            int num = 20;
            // 该if是写在main方法中,不能定义方法上面已经定义过的局部变量
            // int a = 10;
        }
        // System.out.println(num);
        // int num = 20;
        for (int i = 0; i < 5; i++) {
            // 代码块,都属于局部位置
            int num = 10;
        }

    }
}
